package com.gd.iot.energy.service.superadmin;

import com.gd.iot.energy.pojo.common.vo.PageVO;
import com.gd.iot.energy.pojo.superadmin.dto.PermissionSaveDTO;
import com.gd.iot.energy.pojo.superadmin.vo.PermissionVO;

import java.util.List;

/**
 * 区域
 *
 * @author kris
 * @date Created at 8:33 下午 2020/8/5
 */
public interface PermissionService {

    /**
     * 获取权限
     * @return
     */
    PageVO<PermissionVO> getPermissionVOs();

    /**
     * 保持角色的权限
     * @param permissionIds
     * @param roleId
     * @return
     */
    boolean savePermissions(List<Integer> permissionIds,Integer roleId);

    /**
     * 通过角色id获取权限
     * @param id
     * @return
     */
    List<Integer> getPermissionsByRoleId(Integer id);

    /**
     * 新增权限
     * @param permissionSaveDTO
     * @return
     */
    Integer add(PermissionSaveDTO permissionSaveDTO);

    /**
     * 更新权限
     * @param permissionSaveDTO
     * @return
     */
    boolean updatePermission(PermissionSaveDTO permissionSaveDTO);

    /**
     * 删除权限
     * @param ids
     * @return
     */
    boolean delete(List<Integer> ids);

    /**
     * 获取当前用户拥有的目录、菜单、权限
     * @return
     */
    List<PermissionVO> getCurrentUserPermissionVOs();
}
